package JavaSE;
//给定一个非空整数数组，除了某个元素只出现一次以外，其余每个元素均出现两次。找出那个只出现了一次的元素。
//示例 1:
//输入: [2,2,1]
//输出: 1
//示例 2:
// 输入: [4,1,2,1,2]
//输出: 4
//本题的解题思路：(1)一个数和它自己本身异或得0;(2)任何一个数与0异或得其本身;(3)异或运算满足交换律:a^b^a=(a^a)^b=0^b=b--->即我们把数组中的所有元素一次性做异或运算，然后就能把相同的元素消成0，然后剩下的那个异或结果就是这个数组中没有人跟它一样，所以化不为0，最终异或结果就是它
public class time_2025_07_18找出数组中只出现一次的元素 {
    public static int sigleNubmer(int[] arr) {
        int sigle_number = 0;
        for(int num:arr){
            sigle_number ^= num; // 使用异或操作，两个相同的数异或结果为0，0和任何数异或结果为该数本身
        }
            return sigle_number;
        }

    public static void main(String[] args) {
        int[] arr = {4,1,2,1,2};
        System.out.println("数组中只出现一次的元素是: " + sigleNubmer(arr));
    }
}

